package com.tianji.learning.service;

import com.tianji.learning.domain.dto.PointsBoardQuery;
import com.tianji.learning.domain.po.PointsBoard;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.vo.PointsBoardVO;

import javax.validation.constraints.Min;
import java.util.List;

/**
 * <p>
 * 学霸天梯榜 服务类
 * </p>
 *
 * @author WFan
 * @since 2025-04-02
 */
public interface IPointsBoardService extends IService<PointsBoard> {

    /**
     * 查询积分榜单
     * @param pageQuery
     * @return
     */
    PointsBoardVO queryBoard(PointsBoardQuery pageQuery);

    /**
     * 根据赛季ID动态创建表
     * @param seasonId
     */
    void createTable(Integer seasonId);

    List<PointsBoard> queryCurrentBoards(String key, @Min(value = 1, message = "页码不能小于1") Integer pageNo, @Min(value = 1, message = "每页查询数量不能小于1") Integer pageSize);
}
